Set 和 Map 数据结构
Set
ES6 提供了新的 new Set。没有重复的值
const s = new Set();
const arr = new Set([1, 2, 2, 3, 3]);
Set 结构有以下三个方法及属性。
- constructor:构造函数,默认就是 Set 函数。
- size:返回 Set 实例的成员总数。
- add(value):添加某个值,返回 Set 结构本身。
- delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
- has(value):返回一个布尔值,表示该值是否为 Set 的成员。
- clear():清除所有成员,没有返回值。
Map
允许键实际上是跟内存地址绑定。如果对同一个键多次赋值,后面的值将覆盖前面的值。
const m = new Map();
const o = { p: "Hello World" };
m.set(o, "content");
m.get(o); // "content"
m.has(o); // true
m.delete(o); // true
m.has(o); // false
Map 结构有以下三个方法及属性:
- size 属性返回 Map 结构的成员总数。
- set(key, value) 方法设置键名 key 对应的键值为 value
- get(key) 方法读取 key 对应的键值
- has(key) 方法返回一个布尔值,表示某个键是否在当前 Map 对象之中。
- delete(key) 方法删除某个键,返回 true。
- clear() 方法清除所有成员,没有返回值。